﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Youz.CreditRepay.Entity
{
    /// <summary>
    /// 委托人类型
    /// </summary>
    public enum OrderType
    {
        Member,
        Sys,
        Agent,
        Manager
    }

    /// <summary>
    /// 合约买卖方向
    /// </summary>
    public enum ContractType
    {
        Buy = 1,
        Sell
    }

    /// <summary>
    /// 委托状态 已委托/已成交/已撤单
    /// </summary>
    public enum ContractOrderStatus
    {
        All = 0,
        Ordering = 1,
        Ordered,
        Cancel,
    }

    /// <summary>
    /// 委托类型 市价委托/指价委托
    /// </summary>
    public enum ContractOrderPriceType
    {
        /// <summary>
        /// 市价委托
        /// </summary>
        MarketPrice = 1,

        /// <summary>
        /// 指价委托
        /// </summary>
        LimitPrice,

        /// <summary>
        /// 止损价格
        /// </summary>
        StopLossPrice,

        /// <summary>
        /// 止盈价格
        /// </summary>
        StopProfitPrice
    }

    /// <summary>
    /// 交易类型 建仓/平仓
    /// </summary>
    public enum ContractPositionType
    {
        /// <summary>
        /// 开仓
        /// </summary>
        Open = 1,

        /// <summary>
        /// 平仓
        /// </summary>
        Close
    }

    public enum GoodsStatus
    {
        /// <summary>
        /// 启用
        /// </summary>
        Enabled = 1,

        /// <summary>
        /// 禁用
        /// </summary>
        Disabled
    }

    /// <summary>
    /// 资金风险级别
    /// </summary>
    public enum MoneyRiskLevel
    {
        /// <summary>
        /// 正常
        /// </summary>
        Normal,
        /// <summary>
        /// 无法建仓
        /// </summary>
        NonOpenPosition,
        /// <summary>
        /// 追加保证金
        /// </summary>
        AddAvailableMoney,
        /// <summary>
        /// 强制平仓
        /// </summary>
        ClosePosition
    }

    /// <summary>
    /// 会员状态
    /// </summary>
    public enum MemberStatus
    {
        /// <summary>
        /// 未激活
        /// </summary>
        Nonactivated,

        /// <summary>
        /// 正常
        /// </summary>
        Normal,

        /// <summary>
        /// 锁定登录
        /// </summary>
        LockedLogin,

        /// <summary>
        /// 锁定资金操作
        /// </summary>
        LockedAsset
    }

    /// <summary>
    /// 合约手续费收取类型
    /// </summary>
    public enum ContractFeeType
    {
        /// <summary>
        /// 双边收取
        /// </summary>
        Double,
        /// <summary>
        /// 单边建仓收取
        /// </summary>
        Single,
        /// <summary>
        /// 日内平今仓免收（平今免）
        /// </summary>
        Today
    }

    /// <summary>
    /// 合约手续费数字类型
    /// </summary>
    public enum ContractFeeNumberType
    {
        /// <summary>
        /// 百分比
        /// </summary>
        Percent,
        /// <summary>
        /// 按手固定数字
        /// </summary>
        Integer
    }

    /// <summary>
    /// 资产操作类型
    /// </summary>
    public enum AssetOperateType
    {
        /// <summary>
        /// 加
        /// </summary>
        Plus,

        /// <summary>
        /// 减
        /// </summary>
        Minus,
    }

    /// <summary>
    /// 资产类型
    /// </summary>
    public enum AssetHistoryType
    {
        /// <summary>
        /// 余额
        /// </summary>
        [System.ComponentModel.Description("余额")]
        Balance,

        /// <summary>
        /// 保证金
        /// </summary>
        [System.ComponentModel.Description("保证金")]
        CashDeposit,

        /// <summary>
        /// 手续费分润
        /// </summary>
        [System.ComponentModel.Description("手续费分润")]
        TradeFeeAward
    }

    /// <summary>
    /// 变动类型
    /// </summary>
    public enum AssetHistoryChangeType
    {
        /// <summary>
        /// 充值
        /// </summary>
        [System.ComponentModel.Description("充值")]
        Recharge = 100,
        /// <summary>
        /// 申请提现
        /// </summary>
        [System.ComponentModel.Description("提现申请")]
        Withdraw = 200,
        /// <summary>
        /// 提现通过
        /// </summary>
        [System.ComponentModel.Description("提现通过")]
        WithdrawalPass = 201,
        /// <summary>
        /// 提现不通过（资金解冻）
        /// </summary>
        [System.ComponentModel.Description("提现不通过")]
        WithdrawalNotPass = 202,
        /// <summary>
        /// 提现撤销（资金解冻）
        /// </summary>
        [System.ComponentModel.Description("提现撤销")]
        WithdrawalCancel = 203,
        
        /// <summary>
        /// 还款
        /// </summary>
        Repay = 300,
        /// <summary>
        /// 还款手续费
        /// </summary>
        RepayFee = 301,

        /// <summary>
        /// 信用卡取现
        /// </summary>
        Getcash = 400,
        /// <summary>
        /// 信用卡取现手续费
        /// </summary>
        GetcashFee = 401

    }
    /// <summary>
    /// 提现审核状态
    /// </summary>
    public enum WithdrawStatus
    {
        /// <summary>
        /// 待审核
        /// </summary>
        [System.ComponentModel.Description("待审核")]
        Pending = 1,
        /// <summary>
        /// 审核中
        /// </summary>
        [System.ComponentModel.Description("审核中")]
        Review = 2,
        /// <summary>
        /// 审核未通过
        /// </summary>
        [System.ComponentModel.Description("审核未通过")]
        NotPassed = 3,
        /// <summary>
        /// 已完成
        /// </summary>
        [System.ComponentModel.Description("已完成")]
        Completed = 4,
        /// <summary>
        /// 已撤消
        /// </summary>
        [System.ComponentModel.Description("已撤消")]
        Revoked = 5,
        /// <summary>
        /// 已提交代付
        /// </summary>
        [System.ComponentModel.Description("审核中")]
        Submited = 6,
    }

    //状态(0待汇款、1未处理、2处理中、3批准申请、4拒绝申请、5已撤消)
    public enum RechargeStatus
    {
        /// <summary>
        /// 待汇款
        /// </summary>
        Waiting,
        /// <summary>
        /// 未处理
        /// </summary>
        Audit,
        /// <summary>
        /// 处理中
        /// </summary>
        Auditing,
        /// <summary>
        /// 批准申请
        /// </summary>
        Audited,
        /// <summary>
        /// 拒绝申请
        /// </summary>
        Refuse,
        /// <summary>
        /// 已撤消
        /// </summary>
        Cancel
    }

    public enum AppPusherType
    { 
        /// <summary>
        /// 踢出帐号的其它登录
        /// </summary>
        KickoutMember,

        /// <summary>
        /// 充值
        /// </summary>
        PayRecharge
    }

    public enum AppPackageType
    { 
        /// <summary>
        /// 资源安装包
        /// </summary>
        ResourcePackage,

        /// <summary>
        /// 安装包
        /// </summary>
        Package
    }

    /// <summary>
    /// 手机系统类型
    /// </summary>
    public enum AppDeviceType
    { 
        IOS,
        Android
    }

    /// <summary>
    /// 银行卡类型
    /// </summary>
    public enum BankCardType
    {
        /// <summary>
        /// 信用卡
        /// </summary>
        CreditCard,

        /// <summary>
        /// 储蓄卡
        /// </summary>
        DepositCard,
        All,
    }

    /// <summary>
    /// 还款计划状态
    /// </summary>
    public enum RepaymentPlanStatus
    {
        /// <summary>
        /// 临时
        /// </summary>
        Temp,
        /// <summary>
        /// 未支付
        /// </summary>
        Unpay,
        /// <summary>
        /// 还款中
        /// </summary>
        Runing,
        /// <summary>
        /// 还款完成
        /// </summary>
        Runed
    }

    /// <summary>
    /// 支付类型
    /// </summary>
    public enum PaymentType
    {        
        /// <summary>
        /// 支付宝
        /// </summary>
        Alipay = 0,
        /// <summary>
        /// 微信支付
        /// </summary>
        Weixipay = 1,
        /// <summary>
        /// 在线支付(银联)
        /// </summary>
        PayEase = 2,

        /// <summary>
        /// 余额
        /// </summary>
        Balance,
        /// <summary>
        /// 银行卡
        /// </summary>
        BankCard,
    }

    /// <summary>
    /// 支付交易类型
    /// </summary>
    public enum PayTradeType
    {
        /// <summary>
        /// 还款
        /// </summary>
        Repay,
        /// <summary>
        /// 充值
        /// </summary>
        Recharge,
        /// <summary>
        /// 信用卡取现
        /// </summary>
        Getcash,
        /// <summary>
        /// 零钱取现
        /// </summary>
        Withdraw
    }

    /// <summary>
    /// 支付记录状态
    /// </summary>
    public enum PayRecordsStatus
    {
        /// <summary>
        /// 待支付
        /// </summary>
        Pay = 1,

        /// <summary>
        /// 支付中
        /// </summary>
        Paying = 2,

        /// <summary>
        /// 支付完成
        /// </summary>
        Payed = 3,

        /// <summary>
        /// 自动关闭
        /// </summary>
        Close = 4,

        /// <summary>
        /// 支付撤销
        /// </summary>
        Cancel = 5,

        /// <summary>
        /// 支付失败
        /// </summary>
        Failure
    }
}
